查看原文
其他

破解分布式数据库全局死锁难题 GBase 8c引领数据库领域变革

GBASE GBASE数据库
2024-11-02

面对与日俱增的海量数据,分布式数据库凭借其高可用、高扩展、高性价比等优势,能为企业业务提供良好支撑,得到越来越多用户的认可。分布式数据库的时代已悄然到来!

南大通用GBase 8c就是一款多模多态的分布式数据库产品,其支持行存、列存、内存等多种存储模式和单机、主备式、分布式等多种部署形态,具备高性能、高可用、弹性伸缩、高安全性等特性,可以部署在物理机、虚拟机、容器、私有云和公有云,为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。

随着分布式数据库的不断发展,目前正面临一些挑战,现有技术需要不断的突破和创新。例如,高并发分布式数据库运行过程中,经常发生多个节点上的多个数据库会话间互相访问对方占有的资源,从而产生循环等待的情况,即发生分布式全局死锁。

为了让事务得以继续运行,就需要分布式数据库系统提供死锁快速检测和解除技术。

传统处理方式是通过在CN(协调器)和DN(数据节点)上部署global deadlock process并与GTM(全局事务管理器)建立通讯通道,周期性地对事务等待关系进行检测,并将检测结果发送给GTM用来构建全局等待图。当检测到死锁环时,立即将执行事务号最大的事务执行退出流程,从而解决全局死锁问题。

但这种方案存在单一节点,GTM需收集所有节点的等待关系,当集群节点、运行事务较多时,负荷过高且周期性触发,出现死锁——检测到死锁时间较长,影响数据库性能。

针对这些情况,GBase 8c开发团队提出了一种基于探测消息传递的死锁检测和解锁方法,以解决分布式系统中出现死锁的情况。

具体说来,在GBase 8c数据库中,若某一事务的CN处理进程收到自己发出的探测消息,即说明存在全局死锁。此时事务关联的CN处理进程执行事务回滚,释放出自己占有的锁资源,以便其它事务拿到资源锁后得以继续运行。事务回滚后,死锁等待环就断开了,不存在循环等待的卡死现象,从而解决全局死锁的问题。这种去中心化的设计,避免了任何单点故障导致死锁检测失效或滞后的问题。

目前,南大通用已将该项技术申请专利,并获得国家知识产权局受理。

当前分布式数据库既面临历史性的发展机遇,也在迎接严峻挑战。为顺应数字化转型提速的趋势,南大通用GBase 8c将进一步加速产品科技创新,持续提升产品性能,推动国产大数据领域生态圈的繁荣发展。




本期撰稿:缇安

本期编辑:yuyuan




THE END





往期文章 

新闻资讯

某银行天津分行科技部副总经理彭思玉一行莅临GBASE参观调研

GBASE数据实现数据层面同城双活之应用

南大通用GBase数据库在国家石油天然气管网集团有限公司的应用

生态合作

生态 | 适配月报 国产数据库GBase4月认证35款产品

生态 | 持续完善合作生态 GBase数据库3月适配认证19款产品

南大通用GBase 8s与新华三Superdome Flex完成兼容互认证 携手满足关键行业核心业务需求

培训活动

认证培训 | 欢迎参加GBase 8a MPP Cluster数据库5月训练营

必看 | 《GBase 8a 集群认证培训》学习指南

第一届“GBASE技术文章”有奖征文圆满收官

技术干货

南大通用:元宇宙数据库技术展望

揭秘GBase 8c分布式事务处理核心技术之2PC协议

趣说GBase 8a数据库集群(三)—之高可用特性


修改于
继续滑动看下一个
GBASE数据库
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存